<?php

/**
 * solicitudasesor actions.
 *
 * @package    atenea
 * @subpackage solicitudasesor
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 2288 2006-10-02 15:22:13Z fabien $
 */
class solicitudasesorActions extends autosolicitudasesorActions
{
	 public function executeIndex()
  {
    return $this->forward('solicitudasesor', 'edit');
  }

  public function executeList()
  {
    $this->processSort();

    $this->processFilters();


    // pager
    $this->pager = new sfPropelPager('EstudianteAspirante', 20);
    $c = new Criteria();
    $this->addSortCriteria($c);
    $this->addFiltersCriteria($c);
    $this->pager->setCriteria($c);
    $this->pager->setPage($this->getRequestParameter('page', 1));
    $this->pager->init();
  }

    public function executeDatos()
	{

	  if ($this->getRequestParameter('ajax')=='1')
	    {
            //echo 'hola';
         		//	$id_est  = 2;
         		//	$objUsu = AteneausuarioPeer::retrieveByPk($id_est);
         		//	$urlfoto = $objUsu->getUrlFoto();
         		//	$email = $objUsu->getEmail();
         		//	$objCita = new Cita();
         		//	$ced     = $objCita->getCedulaEstudianteConId($id_est);
         			$objEstudiante = new Estudiante();
         			$this->ced = $this->getRequestParameter('cedula');
         			$datos = $objEstudiante->getDatosDelEstudianteConCed($this->ced);
         			$this->estudiante =$datos;


         			if ($datos == null)
         			{
         				$this->setFlash('notice', 'Esta cedula no le pertenece a un estudiante');
         			}
         			else
         			{

						$objUsu = $datos->getObjAteneaUsuarioConCed();
						$this->usuario = $objUsu;
						$this->getUser()->setAttribute('idEst', $objUsu->getId());

         			}

	    }
	}
  public function executeCreate()
  {
    return $this->forward('solicitudasesor', 'edit');
  }

  public function executeSave()
  {
    return $this->forward('solicitudasesor', 'edit');
  }

  public function executeEdit()
  {
    $this->estudiante_aspirante = $this->getEstudianteAspiranteOrCreate();

    if ($this->getRequest()->getMethod() == sfRequest::POST)
    {
      $this->updateEstudianteAspiranteFromRequest();

      $this->saveEstudianteAspirante($this->estudiante_aspirante);

      $this->setFlash('notice', 'La solicitud ha sido registrada');

      if ($this->getRequestParameter('save_and_add'))
      {
        return $this->redirect('solicitudasesor/create');
      }
      else if ($this->getRequestParameter('save_and_list'))
      {
        return $this->redirect('solicitudasesor/list');
      }
      else
      {
        return $this->redirect('solicitudasesor/edit?id='.$this->estudiante_aspirante->getId());
      }
    }
    else
    {
      $this->labels = $this->getLabels();
    }
  }

  public function executeDelete()
  {
    $this->estudiante_aspirante = EstudianteAspirantePeer::retrieveByPk($this->getRequestParameter('id'));
    $this->forward404Unless($this->estudiante_aspirante);

    try
    {
      $this->deleteEstudianteAspirante($this->estudiante_aspirante);
    }
    catch (PropelException $e)
    {
      $this->getRequest()->setError('delete', 'Could not delete the selected Estudiante aspirante. Make sure it does not have any associated items.');
      return $this->forward('solicitudasesor', 'list');
    }

    return $this->redirect('solicitudasesor/list');
  }

  public function handleErrorEdit()
  {
    $this->preExecute();
    $this->estudiante_aspirante = $this->getEstudianteAspiranteOrCreate();
    $this->updateEstudianteAspiranteFromRequest();

    $this->labels = $this->getLabels();

    return sfView::SUCCESS;
  }

  protected function saveEstudianteAspirante($estudiante_aspirante)
  {
    $estudiante_aspirante->save();

  }

  protected function deleteEstudianteAspirante($estudiante_aspirante)
  {
    $estudiante_aspirante->delete();
  }

  protected function updateEstudianteAspiranteFromRequest()
  {

  	$idEst = $this->getUser()->getAttribute('idE');

  	//$this->getRequestParameter('usuario_id');
  	$estudiante_aspirante['indice_academico'] = $this->getUser()->getAttribute('promedio');
  	$estudiante_aspirante['asignaturas_actuales'] = $this->getUser()->getAttribute('materias');
  	$estudiante_aspirante['trabaja']= $this->getRequestParameter('trabaja[0]');
  	$estudiante_aspirante['trabajo_grupos']= $this->getRequestParameter('trabajo_grupos[0]');
  	$estudiante_aspirante['trabajar_companeros']= $this->getRequestParameter('trabajar_companeros[0]');
  	$estudiante_aspirante['sabes_est_asesor']= $this->getRequestParameter('sabes_est_asesor[0]');
    //echo $estudiante_aspirante['trabaja'];

    $estudiante_aspirante = $this->getRequestParameter('estudiante_aspirante');


    $this->estudiante_aspirante->setUsuarioId($idEst);


    if (isset($estudiante_aspirante['prom_bachillerato']))
    {
      $this->estudiante_aspirante->setPromBachillerato($estudiante_aspirante['prom_bachillerato']);
    }

      $this->estudiante_aspirante->setAsignaturasActuales($this->getUser()->getAttribute('materias'));

      $this->estudiante_aspirante->setIndiceAcademico($this->getUser()->getAttribute('promedio'));


      $this->estudiante_aspirante->setTrabaja($this->getRequestParameter('trabaja[0]'));

    if (isset($estudiante_aspirante['cargo']))
    {
      $this->estudiante_aspirante->setCargo($estudiante_aspirante['cargo']);
    }
    if (isset($estudiante_aspirante['presup_gasto_mensual']))
    {
      $this->estudiante_aspirante->setPresupGastoMensual($estudiante_aspirante['presup_gasto_mensual']);
    }
    if (isset($estudiante_aspirante['habilidades']))
    {
      $this->estudiante_aspirante->setHabilidades($estudiante_aspirante['habilidades']);
    }


      $this->estudiante_aspirante->setTrabajoGrupos($this->getRequestParameter('trabajo_grupos[0]'));


      $this->estudiante_aspirante->setTrabajarCompaneros($this->getRequestParameter('trabajar_companeros[0]'));

    if (isset($estudiante_aspirante['porq_trab_companeros']))
    {
      $this->estudiante_aspirante->setPorqTrabCompaneros($estudiante_aspirante['porq_trab_companeros']);
    }

      $this->estudiante_aspirante->setSabesEstAsesor($this->getRequestParameter('sabes_est_asesor[0]'));

    if (isset($estudiante_aspirante['explicacion']))
    {
      $this->estudiante_aspirante->setExplicacion($estudiante_aspirante['explicacion']);
    }
    if (isset($estudiante_aspirante['especialidad']))
    {
      $this->estudiante_aspirante->setEspecialidad($estudiante_aspirante['especialidad']);
    }
    if (isset($estudiante_aspirante['observaciones_orient']))
    {
      $this->estudiante_aspirante->setObservacionesOrient($estudiante_aspirante['observaciones_orient']);
    }
  }

  protected function getEstudianteAspiranteOrCreate($id = 'id')
  {
    if (!$this->getRequestParameter($id))
    {
      $estudiante_aspirante = new EstudianteAspirante();
    }
    else
    {
      $estudiante_aspirante = EstudianteAspirantePeer::retrieveByPk($this->getRequestParameter($id));

      $this->forward404Unless($estudiante_aspirante);
    }

    return $estudiante_aspirante;
  }

  protected function processFilters()
  {
  }

  protected function processSort()
  {
    if ($this->getRequestParameter('sort'))
    {
      $this->getUser()->setAttribute('sort', $this->getRequestParameter('sort'), 'sf_admin/estudiante_aspirante/sort');
      $this->getUser()->setAttribute('type', $this->getRequestParameter('type', 'asc'), 'sf_admin/estudiante_aspirante/sort');
    }

    if (!$this->getUser()->getAttribute('sort', null, 'sf_admin/estudiante_aspirante/sort'))
    {
    }
  }

  protected function addFiltersCriteria($c)
  {
  }

  protected function addSortCriteria($c)
  {
    if ($sort_column = $this->getUser()->getAttribute('sort', null, 'sf_admin/estudiante_aspirante/sort'))
    {
      $sort_column = EstudianteAspirantePeer::translateFieldName($sort_column, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_COLNAME);
      if ($this->getUser()->getAttribute('type', null, 'sf_admin/estudiante_aspirante/sort') == 'asc')
      {
        $c->addAscendingOrderByColumn($sort_column);
      }
      else
      {
        $c->addDescendingOrderByColumn($sort_column);
      }
    }
  }

  protected function getLabels()
  {
    return array(
      'estudiante_aspirante{id}' => 'Id:',
      'estudiante_aspirante{usuario_id}' => 'Usuario:',
      'estudiante_aspirante{prom_bachillerato}' => 'Promedio de bachillerato:',
      'estudiante_aspirante{asignaturas_actuales}' => 'Asignaturas actuales:',
      'estudiante_aspirante{indice_academico}' => 'Indice academico:',
      'estudiante_aspirante{trabaja}' => '�Trabaja?',
      'estudiante_aspirante{cargo}' => 'Cargo:',
      'estudiante_aspirante{presup_gasto_mensual}' => 'Presupuesto de gasto mensual:',
      'estudiante_aspirante{habilidades}' => 'Habilidades:',
      'estudiante_aspirante{trabajo_grupos}' => '�Has trabajado en grupos?',
      'estudiante_aspirante{trabajar_companeros}' => '�Te gusta trabajar con tus companeros?',
      'estudiante_aspirante{porq_trab_companeros}' => '�Por que?',
      'estudiante_aspirante{sabes_est_asesor}' => '�Sabes lo que hace un estudiante asesor?',
      'estudiante_aspirante{explicacion}' => 'Explique:',
      'estudiante_aspirante{especialidad}' => 'Especialidad:',
      'estudiante_aspirante{observaciones_orient}' => 'Observaciones de orientacion',
    );
  }
}
